package cn.alise.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import cn.alise.consts.BaseConsts;



/**
 * 格式判断工具类
 * 
 * @author Chunjie He
 * @date 2015-09-11
 *
 */
public class RegexUtils {

	/**
	 * 判断字符串是否是合法的EMAIL
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isEmail(String str) {
		return isRight(str, BaseConsts.Pattern.email);
	}
	
	/**
	 * 判断字符串是否是合法的mobile
	 * @param str
	 * @return
	 */
	public static boolean isMobile(String str) {
		return isRight(str, BaseConsts.Pattern.mobile);
	}
	
	/**
	 * 判断字符串是否是合法的身份证号
	 * @param str
	 * @return
	 */
	public static boolean isCardNo(String str) {
		return isRight(str, BaseConsts.Pattern.cardNo);
	}
	
	/**
	 * 判断是否为正整数
	 * @param str
	 * @return
	 */
	public static boolean isNum(String str) {
		return isRight(str, BaseConsts.Pattern.num);
	}
	
	/**
	 * 正在表达式匹配
	 * @param str
	 * @param regex_exp
	 * @return
	 */
	public static boolean isRight(String str, String regex_exp) {
		Pattern regex = Pattern.compile(regex_exp);
		try {
			Matcher matcher = regex.matcher(str);
			return matcher.matches();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return false;
	}
}
